import { IPSDEUILogicNode } from './ipsdeuilogic-node';
import { IPSDEUILogicParam } from './ipsdeuilogic-param';

/**
 *
 * 继承父接口类型值[VIEWCTRLINVOKE]
 * @export
 * @interface IPSDEUICtrlInvokeLogic
 */
export interface IPSDEUICtrlInvokeLogic extends IPSDEUILogicNode {
  /**
   * 调用部件
   *
   * @type {IPSDEUILogicParam}
   */
  getInvokeCtrl(): IPSDEUILogicParam | null;

  /**
   * 调用部件
   *
   * @type {IPSDEUILogicParam}
   */
  get invokeCtrl(): IPSDEUILogicParam | null;

  /**
   * 调用部件（必须存在）
   *
   * @type {IPSDEUILogicParam}
   */
  getInvokeCtrlMust(): IPSDEUILogicParam;

  /**
   * 调用方法
   * @type {string}
   */
  invokeMethod: string;

  /**
   * 调用参数
   *
   * @type {IPSDEUILogicParam}
   */
  getInvokeParam(): IPSDEUILogicParam | null;

  /**
   * 调用参数
   *
   * @type {IPSDEUILogicParam}
   */
  get invokeParam(): IPSDEUILogicParam | null;

  /**
   * 调用参数（必须存在）
   *
   * @type {IPSDEUILogicParam}
   */
  getInvokeParamMust(): IPSDEUILogicParam;
}
